package com.iheima.reggie_take.common;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * ClassName: R
 * Package: com.iheima.reggie_take.common
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 * Date: 2023-01-16
 * Time: 14:55
 */

//common 通用的类

@Data
public class R<T> {
    //R类 封装统一的返回结果 响应的结果都会封装成此对象 和前端是配套的

    private Integer code; //编码：1成功，0和其它数字为失败

    private String msg; //错误信息

    private T data; //数据

    private Map map = new HashMap(); //动态数据

    //成功
    public static <T> R<T> success(T object) {
        R<T> r = new R<T>();
        r.data = object;
        r.code = 1;
        return r;
    }

    //失败
    public static <T> R<T> error(String msg) {
        R r = new R();
        r.msg = msg;
        r.code = 0;
        return r;
    }

    //操作map的
    public R<T> add(String key, Object value) {
        this.map.put(key, value);
        return this;
    }

}
